// import 'package:flutter/material.dart';
// import 'package:yw_bapp/widgets/app_bar_widget.dart';

// // 基础类，错误态，加载态，无数据态等封装
// abstract class BaseWidget extends StatefulWidget {


//   @override
//   _BaseWidgetState createState() => getState();

//   // 子类实现
//   _BaseWidgetState getState();
// }

// abstract class _BaseWidgetState extends State<BaseWidget> {
//   @override
//   void initState() {
//     // TODO: implement initState
//     super.initState();
//   }

//   @override
//   Widget build(BuildContext context) {
//         return _hasSecurityKeyboard
//         ? _buildWidgetWithKeyboard()
//         : _buildWidgetDefault();
//   }

//   ///构建默认视图
//   Widget _buildWidgetDefault() {
//     ///使用appbar，也可直接只有 body 在 body 里自定义状态栏、标题栏
//     return WillPopScope(
//       child: Scaffold(
//         appBar: AppBarWidget(bgColor: Colors.white,),
//         body: _buildBody(),
//       ),
//       onWillPop: _requestPop,
//     );
//   }

//   ///构建包含安全键盘视图
//   Widget _buildWidgetWithKeyboard() {
//     ///WidgetsApp或者MaterialApp,Flutter会自动默认创建一个Navigator
//     ///用于键盘弹出的时候页面可以滚动到输入框的位置
//     return WillPopScope(
//       child: KeyboardMediaQuery(
//         child: Builder(builder: (ctx) {
//           ///初始化键盘监听并且传递当前页面的context
//           KeyboardManager.init(ctx);
//           return Scaffold(
//             appBar: _buildAppBar(),
//             body: _buildBody(),
//           );
//         }),
//       ),
//       onWillPop: _requestPop,
//     );
//   }

//   ///物理返回
//   Future<bool> _requestPop() {
//     bool b = true;
//     if (KeyboardManager.isShowKeyboard) {
//       KeyboardManager.hideKeyboard();
//       b = false;
//     }
//     return Future.value(b);
//   }

//   ///子类实现，构建各自页面UI控件 相当于setContentView()
//   Widget buildWidget(BuildContext context);

//   ///构建内容区
//   Widget _buildBody() {
//     return Container(
//       ///内容区背景颜色
//       color: Colors.white,
//       child: Stack(
//         children: <Widget>[
//           Offstage(
//             offstage: !_isContentWidgetShow,
//             child: buildWidget(context),
//           ),
//           // _buildErrorWidget(),
//           // _buildEmptyWidget(),
//           // _buildLoadingWidget(),
//         ],
//       ),
//     );
//   }
// }
